home *** CD-ROM | disk | FTP | other *** search
- menu channel,menubar {
- Multiple Server Connect Addon
- .Set New Nickname:/set %irc2.nick $$?"Enter Your New Nickname" .-
- .Select New IRC2 Connection:/sockopen irc $$?"Server" $$?"Port"
-
- }
- on 1:CLOSE:@Irc2:{
- sockclose irc
- set %close.x 1
- :loop
- set %cur.win $window(@#*,%close.x)
- if %cur.win == $null { goto privwins }
- window -c $window(@#*,%close.x)
- inc %close.x
- goto loop
- :privwins
- set %close.x 1
- :loop1
- if $window(@C*,%close.x) == $null { goto end }
- window -c $window(@C*,%close.x)
- inc %close.x
- goto loop1
- :end
- echo -s Disconnecting from Irc Server 2!
- }
- on 1:CLOSE:@#*:{
- set %target $target
- set %target $remove(%target,@)
- sockwrite -n irc PART %target
- }
- on 1:input:@#*:{
- if $1 == /me { goto action }
- if $left($1,1) == / {
- irccommand $1-
- }
- set %talk.chan $active
- set %talk.chan $remove(%talk.chan,@)
- sockwrite -n irc privmsg %talk.chan : $+ $1-
- aline -p $active $timestamp < $+ %irc2.nick $+ > $1-
- halt
- :action
- set %talk.chan $active
- set %talk.chan $remove(%talk.chan,@)
- sockwrite -n irc privmsg %talk.chan : $+ $chr(1) $+ ACTION $2- $+ $chr(1)
- aline -p $active 12 $+ $timestamp * %irc2.nick $2-
- halt
- }
- on 1:input:@Irc2:{
- if $left($1,1) == / {
- irccommand $1-
- }
- aline @Irc2 3*** Please Dont Talk in the status Window
- aline @Irc2 12-
- halt
- }
- on 1:sockopen:irc:{
- if $sockerr > 0 {
- halt
- }
- sockwrite -n irc user $rand(a,z) $+ $rand(a,z) $+ $rand(a,z) $+ $rand(a,z) $rand(a,z) $+ $rand(a,z) $+ $rand(a,z) $+ $rand(a,z) $rand(a,z) $+ $rand(a,z) $+ $rand(a,z) $+ $rand(a,z) $rand(a,z) $+ $rand(a,z) $+ $rand(a,z) $+ $rand(a,z)
- sockwrite -n irc nick %irc2.nick
- window -e @Irc2
- }
- alias irccommand {
- set %prefix $1
- if %prefix == /nick {
- set %irc2.nick $2-
- }
- if %prefix == /msg {
- sockwrite -n irc privmsg $2 : $+ $3-
- halt
- }
- set %prefix $remove(%prefix,/)
- sockwrite -n irc %prefix $2 : $+ $3-
- halt
- }
- alias ircchanmode {
- set %source $gettok(%var,1,32)
- set %source $left(%source,$pos(%source,!,1))
- set %source $remove(%source,!,:)
- set %mode $gettok(%var,4,32)
- set %tmode $gettok(%var,5,32)
- aline -p @ $+ $gettok(%var,3,32) 3 $+ $timestamp *** %source Sets Mode %mode %tmode
- set %chan $gettok(%var,3,32)
- set %wind.chan @ $+ %chan
- set %person.nick %tmode
- set %person.nick1 * $+ %tmode
- if %mode == +o {
- rline -l %wind.chan $fline(%wind.chan,%person.nick1,1,1) @ $+ %person.nick
- }
- if %mode == -o {
- rline -l %wind.chan $fline(%wind.chan,%person.nick1,1,1) %person.nick
- }
- if %mode == +v {
- rline -l %wind.chan $fline(%wind.chan,%person.nick1,1,1) + $+ %person.nick
- }
- if %mode == -v {
- rline -l %wind.chan $fline(%wind.chan,%person.nick1,1,1) %person.nick
- }
- }
- on 1:sockread:irc:{
- sockread %var
- set %server.name $gettok(%var,1,32)
- set %server.name $remove(%server.name,:)
- if QUIT == $gettok(%var,2,32) {
- quitirc
- }
- if PING == $gettok(%var,1,32) {
- set %2 $gettok(%var,2,32)
- sockwrite -n irc pong %2
- aline @Irc2 3PING? PONG!
- aline @Irc2 12-
- halt
- }
- if JOIN == $gettok(%var,2,32) {
- set %irc2.chan $gettok(%var,3,32)
- set %irc2.chan $remove(%irc2.chan,:)
- ircjoinchan %irc2.chan
- }
- if KICK == $gettok(%var,2,32) {
- irckick
- }
- if 0 isin $gettok(%var,2,32) || 1 isin $gettok(%var,2,32) || 2 isin $gettok(%var,2,32) || 3 isin $gettok(%var,2,32) || 4 isin $gettok(%var,3,32) || 5 isin $gettok(%var,2,32) || 6 isin $gettok(%var,2,32) || 7 isin $gettok(%var,2,32) || 8 isin $gettok(%var,2,32) || 9 isin $gettok(%var,2,32) {
- rawcommand
- }
- if PART == $gettok(%var,2,32) {
- ircpart
- }
- if NICK == $gettok(%var,2,32) {
- ircnick
- }
- if MODE == $gettok(%var,2,32) {
- if $chr(35) == $left($gettok(%var,3,32),1) {
- ircchanmode
- }
- if $chr(35) != $left($gettok(%var,3,32),1) {
- set %mode $gettok(%var,4,32)
- set %mode $remove(%mode,:)
- echo @Irc2 3 $+ *** %irc2.nick Sets Mode %mode
- }
- halt
- }
- if PRIVMSG == $gettok(%var,2,32) {
- ircchanmsg %var
- }
- if NOTICE AUTH == $gettok(%var,2-3,32) {
- connectnotice
- }
- if TOPIC == $gettok(%var,2,32) {
- set %nick.topic $gettok(%var,1,32)
- set %nick.topic $left(%nick.topic,$pos(%nick.topic,!,1))
- set %nick.topic $remove(%nick.topic,:,!)
- set %new.topic $gettok(%var,4-1000,32)
- set %new.topic $right(%new.topic,$calc($len(%new.topic) - 1))
- aline -p @ $+ $gettok(%var,3,32) 3 $+ $timestamp *** %nick.Topic Changes Topic To ' $+ %new.topic $+ '
- halt
- }
- if NOTICE == $gettok(%var,2,32) {
- set %say.not $gettok(%var,4-1000,32)
- set %nick.not $gettok(%var,1,32)
- set %nick.not $left(%nick.not,$pos(%nick.not,!,1))
- set %nick.not $remove(%nick.not,!,:)
- aline -p @Irc2 5 $+ $timestamp *** - $+ %nick.not $+ - %say.not
- aline @Irc2 12-
- halt
- }
- if %var == $null { aline @Irc2 12- | halt }
- aline @Irc2 %var
- aline @Irc2 12-
- :end
- halt
- }
- alias quitirc {
- set %win.x 1
- set %quit.reason $gettok(%var,3-1000,32)
- set %quit.reason $right(%quit.reason,$calc($len(%quit.reason) - 1))
- set %quit.nick $gettok(%var,1,32)
- set %quit.host %quit.nick
- set %quit.nick $left(%quit.nick,$pos(%quit.nick,!,1))
- set %quit.nick $remove(%quit.nick,!,:)
- set %quit.host $right(%quit.host,$calc($len(%quit.host) - 1))
- set %person.nick1 * $+ %quit.nick
- set %person.nick1 $remove(%person.nick1,:)
- :loop
- set %wind.chan $window(@*,%win.x)
- if $window(@*,%win.x) == $null {
- halt
- }
- aline -p $window(@*,%win.x) 2 $+ $timestamp *** Quits: %quit.nick ( $+ %quit.host $+ ) Has quit IRC: ( $+ %quit.reason $+ )
- if $window(@*,%win.x) == @Irc2 {
- aline @Irc2 12-
-
- }
- set %nick.line $fline(%wind.chan,%person.nick1,1,1)
- if %nick.line != $null {
- dline -l %wind.chan %nick.line
- }
- inc %win.x
- goto loop
- :end
- halt
- }
- alias ircnick {
- set %win.x 1
- set %person.nick $gettok(%var,1,32)
- set %person.nick $left(%person.nick,$pos(%person.nick,!,1))
- set %person.nick $remove(%person.nick,!,:)
- set %newnick $gettok(%var,3,32)
- set %newnick $remove(%newnick,:)
- :loop
- set %win.nick $window(@*,%win.x)
- if %win.nick == $null { goto end }
- if %win.nick != @Irc2 {
- set %person.nick3 * $+ %person.nick
- set %line.nick $fline(%win.nick,%person.nick3,1,1)
- if %line.nick != $null {
- aline -p %win.nick 3 $+ $timestamp *** %person.nick Is Now Known as %newnick
- rline -l %win.nick %line.nick %newnick
- }
- }
- inc %win.x
- goto loop
- :end
- halt
- }
- alias irckick {
- set %person.nick $gettok(%var,1,32)
- set %chan $gettok(%var,3,32)
- set %chan %chan
- set %kicked.nick $gettok(%var,4,32)
- set %kicked.reason $gettok(%var,5-1000,32)
- if %person.nick != %irc2.nick {
- set %chan $gettok(%var,3,32)
- set %kicked.nick $gettok(%var,4,32)
- set %kicked.reason $gettok(%var,5-1000,32)
- set %kicked.reason $remove(%kicked.reason,:)
- set %person.nick $left(%person.nick,$pos(%person.nick,!,1))
- set %person.nick $remove(%person.nick,!,:)
- aline -p @ $+ %chan 3 $+ $timestamp *** %kicked.nick Was Kicked From %chan By %person.nick ( $+ %kicked.reason $+ )
- set %wind.chan @ $+ %chan
- set %person1.nick * $+ %kicked.nick
- dline -l %wind.chan $fline(%wind.chan,%person1.nick,1,1)
- }
- if %kicked.nick == %irc2.nick {
- window -c @ $+ %chan
- set %person.host $gettok(%var,1,32)
- set %person.host1 $left(%person.host,$pos(%person.host,!,1))
- set %person.nick1 $left(%person.host,$pos(%person.host,!,1))
- set %person.host2 $remove(%person.host,%person.nick1)
- aline -p @Irc2 3 $+ $timestamp *** You were Kicked from %chan by %person.nick ( $+ %kicked.reason $+ )
- aline @Irc2 12-
- }
- }
- alias ircjoinchan {
- set %chan $1
- set %irc2.chan $gettok(%var,3,32)
- set %irc2.chan $remove(%irc2.chan,:)
- set %person.nick $gettok(%var,1,32)
- set %person.nick $left(%person.nick,$pos(%person.nick,!,1))
- set %person.nick $remove(%person.nick,!,:)
- if %person.nick == %irc2.nick {
- window -g1Sel10 @ $+ %chan
- halt
- }
- set %chan $1
- set %person.host $gettok(%var,1,32)
- set %person.host1 $left(%person.host,$pos(%person.host,!,1))
- set %person.nick1 $left(%person.host,$pos(%person.host,!,1))
- set %person.host2 $remove(%person.host,%person.nick1)
- aline -p @ $+ %chan 3 $+ $timestamp *** %person.nick ( $+ %person.host2 $+ ) Has Joined $1
- aline -l @ $+ %chan %person.nick
- set %chan. $+ %chan %chan. [ $+ [ %chan ] ] %person.nick
- halt
- }
- alias ircpart {
- set %person.nick $gettok(%var,1,32)
- set %person.nick $left(%person.nick,$pos(%person.nick,!,1))
- set %person.nick $remove(%person.nick,!,:)
- set %chan $gettok(%var,3,32)
- if %person.nick != %irc2.nick {
- set %chan %chan
- set %person.host $gettok(%var,1,32)
- set %person.host1 $left(%person.host,$pos(%person.host,!,1))
- set %person.nick1 $left(%person.host,$pos(%person.host,!,1))
- set %person.host2 $remove(%person.host,%person.nick1)
- set %person.nick1 * $+ %person.nick
- aline -p @ $+ %chan 3 $+ $timestamp *** %person.nick ( $+ %person.host2 $+ ) Has Left %chan
- set %wind.chan @ $+ %chan
- dline -l %wind.chan $fline(%wind.chan,%person.nick1,1,1)
- set %chan. $+ %wind.chan $remove(%chan [ $+ [ %wind.chan ] ],%person.nick)
- }
- if %person.nick == %irc2.nick {
- unset %chan. $+ %chan
- }
- halt
- }
- alias listnicks {
- set %all.nicks $2-
- set %chan.list $1
- set %chan. $+ %chan.list %all.nicks
- set %all.nicks $remove(%all.nicks,:)
- set %nick.x 1
- :loop
- set %nick.1 $gettok(%all.nicks,%nick.x,32)
- if %nick.1 == $null {
- goto end
- }
- aline -l @ $+ %chan.list %nick.1
- inc %nick.x
- goto loop
- :end
- }
- alias rawcommand {
- if 332 == $gettok(%var,2,32) {
- set %topic $gettok(%var,5-1000,32)
- aline -p @ $+ $gettok(%var,4,32) 3 $+ $timestamp Now Topic Is: ' $+ %topic $+ 3'
- halt
- }
- if 333 == $gettok(%var,2,32) {
- aline -p @ $+ $gettok(%var,4,32) 3 $+ $timestamp Set By: $gettok(%var,5,32)
- halt
- }
- if 421 == $gettok(%var,2,32) {
- $1-
- halt
- }
- if 353 == $gettok(%var,2,32) {
- listnicks $gettok(%var,5,32) $gettok(%var,6-10000,32)
- }
- set %rawtext $gettok(%var,4-10000,32)
- if $chr(58) == $left(%rawtext,1) || $chr(61) == $left(%rawtext,1) {
- set %rawtext $right(%rawtext,$calc($len(%rawtext) - 1))
- }
- if %rawtext == $null { halt }
- aline -p @Irc2 %rawtext
- aline @Irc2 12-
- halt
- }
- alias connectnotice {
- set %connect.notice $gettok(%var,4-1000,32)
- aline @Irc2 5 $timestamp %server.name %connect.notice
- aline @Irc2 12-
- halt
- }
- alias ircchanmsg {
- if $chr(35) isin $gettok(%var,3,32) {
- set %chan $gettok(%var,3,32)
- set %chan $remove(%chan,:)
- set %said $gettok(%var,5-1000,32)
- set %1word $gettok(%var,4,32)
- %1word = $right(%1word,$calc($len(%1word) - 1))
- set %irc2.nick.said $gettok(%var,1,32)
- set %irc2.nick.said $left(%irc2.nick.said,$pos(%irc2.nick.said,!,1))
- set %irc2.nick.said $remove(%irc2.nick.said,!,:)
- if action isin %1word {
- set %said $left(%said,$calc($len(%said) - 1))
- aline -p @ $+ $gettok(%var,3,32) 12 $timestamp * %irc2.nick.said %said
- halt
- }
- set %window @ $+ %chan
- set %said %1word %said
- if $window(%window,1) != $null {
- aline -p %window $timestamp < $+ %irc2.nick.said $+ > %said
- }
- }
- if $chr(35) !isin $gettok(%var,3,32) {
- privchat
- }
- halt
- }
- alias privchat {
- if $1 == $null {
- set %query.nick $gettok(%var,1,32)
- set %query.nick $left(%query.nick,$pos(%query.nick,!,1))
- set %query.nick $remove(%query.nick,:,!)
- set %chat.num 1
- set %chat.tot.num $window(@C*,0)
- :loop
- if %chat.tot.num == 0 {
- goto openchat
- }
- if $window(@C*,%chat.num) == @C [ $+ [ %query.nick ] ] {
- goto end
- }
- inc %chat.num
- }
- if $1 != $null {
- set %query.nick $1
- window -e @C $+ %query.nick
- halt
- }
- :openchat
- window -e @C $+ %query.nick
- :end
- set %whatwas.said $gettok(%var,4-1000,32)
- set %whatwas.said $right(%whatwas.said,$calc($len(%whatwas.said) - 1))
- aline -p @C $+ %query.nick $timestamp < $+ %query.nick $+ > %whatwas.said
- }
- on 1:input:@C*:{
- if $left($1,1) == / {
- irccommand $1-
- }
- set %talk.nick $active
- set %talk.nick $remove(%talk.nick,@C)
- sockwrite -n irc privmsg %talk.nick : $+ $1-
- aline -p $active $timestamp < $+ %irc2.nick $+ > $1-
- halt
- }
-
-
- Nick Password:/set %nspw $$?="Enter NickServ Password"